package com.dyj.applet.domain.query;

import com.dyj.common.domain.query.BaseSubscriptionQuery;
import com.dyj.common.enums.SubscriptionAccessTokenTypeEnum;

public class QueryCreatedSubscriptionTplListQuery extends BaseSubscriptionQuery {

    /**
     * 分页编号，从1开始
     */
    private Integer pageNum;

    /**
     * 分页大小，小于等于50
     */
    private Integer pageSize;

    /**
     * 审核状态 选填
     */
    private Integer status;

    public Integer getPageNum() {
        return pageNum;
    }

    public QueryCreatedSubscriptionTplListQuery setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
        return this;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public QueryCreatedSubscriptionTplListQuery setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
        return this;
    }

    public Integer getStatus() {
        return status;
    }

    public QueryCreatedSubscriptionTplListQuery setStatus(Integer status) {
        this.status = status;
        return this;
    }

    public static QueryCreatedSubscriptionTplListQueryBuilder builder() {
        return new QueryCreatedSubscriptionTplListQueryBuilder();
    }

    public static final class QueryCreatedSubscriptionTplListQueryBuilder {
        private Integer pageNum;
        private Integer pageSize;
        private Integer status;
        private SubscriptionAccessTokenTypeEnum accessTokenTypeEnum;
        private Integer tenantId;
        private String clientKey;

        private QueryCreatedSubscriptionTplListQueryBuilder() {
        }

        public QueryCreatedSubscriptionTplListQueryBuilder pageNum(Integer pageNum) {
            this.pageNum = pageNum;
            return this;
        }

        public QueryCreatedSubscriptionTplListQueryBuilder pageSize(Integer pageSize) {
            this.pageSize = pageSize;
            return this;
        }

        public QueryCreatedSubscriptionTplListQueryBuilder status(Integer status) {
            this.status = status;
            return this;
        }

        public QueryCreatedSubscriptionTplListQueryBuilder accessTokenTypeEnum(SubscriptionAccessTokenTypeEnum accessTokenTypeEnum) {
            this.accessTokenTypeEnum = accessTokenTypeEnum;
            return this;
        }

        public QueryCreatedSubscriptionTplListQueryBuilder tenantId(Integer tenantId) {
            this.tenantId = tenantId;
            return this;
        }

        public QueryCreatedSubscriptionTplListQueryBuilder clientKey(String clientKey) {
            this.clientKey = clientKey;
            return this;
        }

        public QueryCreatedSubscriptionTplListQuery build() {
            QueryCreatedSubscriptionTplListQuery queryCreatedSubscriptionTplListQuery = new QueryCreatedSubscriptionTplListQuery();
            queryCreatedSubscriptionTplListQuery.setPageNum(pageNum);
            queryCreatedSubscriptionTplListQuery.setPageSize(pageSize);
            queryCreatedSubscriptionTplListQuery.setStatus(status);
            queryCreatedSubscriptionTplListQuery.setAccessTokenTypeEnum(accessTokenTypeEnum);
            queryCreatedSubscriptionTplListQuery.setTenantId(tenantId);
            queryCreatedSubscriptionTplListQuery.setClientKey(clientKey);
            return queryCreatedSubscriptionTplListQuery;
        }
    }
}
